package com.zb.result;

/**
 * 200：请求成功
 * 400：Bad Request 当前请求无法被服务器理解。请求和服务器对接不上。发送请求时出现的问题。
 * 401:unauthorized（未授权的、非法的）表示发送的请求需要有通过 HTTP 认证的认证信息
 * 403: （禁止） 服务器拒绝请求。服务器不接受请求。（可能没有权限）
 * 404：找不到页面，路径有问题。
 * 500：（服务器内部错误） 服务器遇到错误，无法完成请求。服务器中的错误即请求成功后服务器运行出现错误。java代码写的有问题。
 * 502：（错误网关） 服务器作为网关或代理，从上游服务器收到无效响应。
 * 503 ：（服务不可用） 服务器目前无法使用（由于超载或停机维护）。通常，这只是暂时状态。
 * 504：（网关超时）服务器作为网关或代理，但是没有及时从上游服务器收到请求。
 * @Author WEN
 * @Date 2023/7/18 0018
 **/
public enum ResultCode {
    /**
     * 请示成功提示
     */
    SUCCESS(20000L, "请求成功"),

    /**
     * 接口请求类异常
     */
    HTTP_STATUS(40000L, "提示：接口请求类异常"),

    /**
     * 登录失败
     */
    LOGIN_FAIL(40100L, "登录失败"),

    /**
     * 登录过期类异常：登录授权已过期，请重新登录
     */
    LOGIN_EXPIRE(40101L, "登录已过期，请重新登录！"),

    /**
     * 被强制下线
     */
    COERCE_LOGIN_OUT(40102L, "您当前账号已在别的地方登录，您已被强制退出！如不是您本人操作，则您的账号密码已泄露，请及时更改账号密码！"),

    /**
     * 没有权限类异常
     */
    UNAUTHORIZED(40013L, "您没有权限操作！"),

    /**
     * 请求接口超限类异常
     */
    REQUEST_INTERFACE_LIMIT(40014L, "当前访问人数较多，请耐心等待片刻后重试！"),

    /**
     * 商家标识类异常
     */
    VENDOR_IDENTIFIER(40015L, "商家标识错误"),

    /**
     * 未知异常提示
     */
    UNKNOWN(50000L, "未知异常，请联系客服反馈！"),

    /**
     * 请求方式错误
     */
    HTTP_METHOD_CDE(500055L, "请求方式错误"),

    /**
     * 提示：对象、参数非法异常
     * 作用如下（出现以下异常的，都以此状态码提示）：
     *  1. 对象为空
     *  2. 非法参数
     *  3. 数据重复
     */
    OBJECT_PARAM(61000L, "提示：对象、参数非法异常"),

    /**
     * 短信类异常
     */
    SMS(62000L, "提示：短信类异常"),

    /**
     * 文件类异常
     */
    FILE(63000L, "提示：文件类异常"),

    /**
     * 微信类异常
     */
    THIRD_WX(71000L, "微信类异常"),



    ;

    private long code;
    private String message;

    ResultCode(long code, String message) {
        this.code = code;
        this.message = message;
    }

    public long getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
